package com.xxgc.ssm.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class OrdersExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public OrdersExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOIdIsNull() {
            addCriterion("o_id is null");
            return (Criteria) this;
        }

        public Criteria andOIdIsNotNull() {
            addCriterion("o_id is not null");
            return (Criteria) this;
        }

        public Criteria andOIdEqualTo(Long value) {
            addCriterion("o_id =", value, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdNotEqualTo(Long value) {
            addCriterion("o_id <>", value, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdGreaterThan(Long value) {
            addCriterion("o_id >", value, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdGreaterThanOrEqualTo(Long value) {
            addCriterion("o_id >=", value, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdLessThan(Long value) {
            addCriterion("o_id <", value, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdLessThanOrEqualTo(Long value) {
            addCriterion("o_id <=", value, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdIn(List<Long> values) {
            addCriterion("o_id in", values, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdNotIn(List<Long> values) {
            addCriterion("o_id not in", values, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdBetween(Long value1, Long value2) {
            addCriterion("o_id between", value1, value2, "oId");
            return (Criteria) this;
        }

        public Criteria andOIdNotBetween(Long value1, Long value2) {
            addCriterion("o_id not between", value1, value2, "oId");
            return (Criteria) this;
        }

        public Criteria andOOrderNoIsNull() {
            addCriterion("o_order_no is null");
            return (Criteria) this;
        }

        public Criteria andOOrderNoIsNotNull() {
            addCriterion("o_order_no is not null");
            return (Criteria) this;
        }

        public Criteria andOOrderNoEqualTo(String value) {
            addCriterion("o_order_no =", value, "oOrderNo");
            return (Criteria) this;
        }

        public Criteria andOOrderNoNotEqualTo(String value) {
            addCriterion("o_order_no <>", value, "oOrderNo");
            return (Criteria) this;
        }

        public Criteria andOOrderNoGreaterThan(String value) {
            addCriterion("o_order_no >", value, "oOrderNo");
            return (Criteria) this;
        }

        public Criteria andOOrderNoGreaterThanOrEqualTo(String value) {
            addCriterion("o_order_no >=", value, "oOrderNo");
            return (Criteria) this;
        }

        public Criteria andOOrderNoLessThan(String value) {
            addCriterion("o_order_no <", value, "oOrderNo");
            return (Criteria) this;
        }

        public Criteria andOOrderNoLessThanOrEqualTo(String value) {
            addCriterion("o_order_no <=", value, "oOrderNo");
            return (Criteria) this;
        }

        public Criteria andOOrderNoLike(String value) {
            addCriterion("o_order_no like", value, "oOrderNo");
            return (Criteria) this;
        }

        public Criteria andOOrderNoNotLike(String value) {
            addCriterion("o_order_no not like", value, "oOrderNo");
            return (Criteria) this;
        }

        public Criteria andOOrderNoIn(List<String> values) {
            addCriterion("o_order_no in", values, "oOrderNo");
            return (Criteria) this;
        }

        public Criteria andOOrderNoNotIn(List<String> values) {
            addCriterion("o_order_no not in", values, "oOrderNo");
            return (Criteria) this;
        }

        public Criteria andOOrderNoBetween(String value1, String value2) {
            addCriterion("o_order_no between", value1, value2, "oOrderNo");
            return (Criteria) this;
        }

        public Criteria andOOrderNoNotBetween(String value1, String value2) {
            addCriterion("o_order_no not between", value1, value2, "oOrderNo");
            return (Criteria) this;
        }

        public Criteria andOUserIdIsNull() {
            addCriterion("o_user_id is null");
            return (Criteria) this;
        }

        public Criteria andOUserIdIsNotNull() {
            addCriterion("o_user_id is not null");
            return (Criteria) this;
        }

        public Criteria andOUserIdEqualTo(Long value) {
            addCriterion("o_user_id =", value, "oUserId");
            return (Criteria) this;
        }

        public Criteria andOUserIdNotEqualTo(Long value) {
            addCriterion("o_user_id <>", value, "oUserId");
            return (Criteria) this;
        }

        public Criteria andOUserIdGreaterThan(Long value) {
            addCriterion("o_user_id >", value, "oUserId");
            return (Criteria) this;
        }

        public Criteria andOUserIdGreaterThanOrEqualTo(Long value) {
            addCriterion("o_user_id >=", value, "oUserId");
            return (Criteria) this;
        }

        public Criteria andOUserIdLessThan(Long value) {
            addCriterion("o_user_id <", value, "oUserId");
            return (Criteria) this;
        }

        public Criteria andOUserIdLessThanOrEqualTo(Long value) {
            addCriterion("o_user_id <=", value, "oUserId");
            return (Criteria) this;
        }

        public Criteria andOUserIdIn(List<Long> values) {
            addCriterion("o_user_id in", values, "oUserId");
            return (Criteria) this;
        }

        public Criteria andOUserIdNotIn(List<Long> values) {
            addCriterion("o_user_id not in", values, "oUserId");
            return (Criteria) this;
        }

        public Criteria andOUserIdBetween(Long value1, Long value2) {
            addCriterion("o_user_id between", value1, value2, "oUserId");
            return (Criteria) this;
        }

        public Criteria andOUserIdNotBetween(Long value1, Long value2) {
            addCriterion("o_user_id not between", value1, value2, "oUserId");
            return (Criteria) this;
        }

        public Criteria andOBuIdIsNull() {
            addCriterion("o_bu_id is null");
            return (Criteria) this;
        }

        public Criteria andOBuIdIsNotNull() {
            addCriterion("o_bu_id is not null");
            return (Criteria) this;
        }

        public Criteria andOBuIdEqualTo(Integer value) {
            addCriterion("o_bu_id =", value, "oBuId");
            return (Criteria) this;
        }

        public Criteria andOBuIdNotEqualTo(Integer value) {
            addCriterion("o_bu_id <>", value, "oBuId");
            return (Criteria) this;
        }

        public Criteria andOBuIdGreaterThan(Integer value) {
            addCriterion("o_bu_id >", value, "oBuId");
            return (Criteria) this;
        }

        public Criteria andOBuIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("o_bu_id >=", value, "oBuId");
            return (Criteria) this;
        }

        public Criteria andOBuIdLessThan(Integer value) {
            addCriterion("o_bu_id <", value, "oBuId");
            return (Criteria) this;
        }

        public Criteria andOBuIdLessThanOrEqualTo(Integer value) {
            addCriterion("o_bu_id <=", value, "oBuId");
            return (Criteria) this;
        }

        public Criteria andOBuIdIn(List<Integer> values) {
            addCriterion("o_bu_id in", values, "oBuId");
            return (Criteria) this;
        }

        public Criteria andOBuIdNotIn(List<Integer> values) {
            addCriterion("o_bu_id not in", values, "oBuId");
            return (Criteria) this;
        }

        public Criteria andOBuIdBetween(Integer value1, Integer value2) {
            addCriterion("o_bu_id between", value1, value2, "oBuId");
            return (Criteria) this;
        }

        public Criteria andOBuIdNotBetween(Integer value1, Integer value2) {
            addCriterion("o_bu_id not between", value1, value2, "oBuId");
            return (Criteria) this;
        }

        public Criteria andODcIdIsNull() {
            addCriterion("o_dc_id is null");
            return (Criteria) this;
        }

        public Criteria andODcIdIsNotNull() {
            addCriterion("o_dc_id is not null");
            return (Criteria) this;
        }

        public Criteria andODcIdEqualTo(Integer value) {
            addCriterion("o_dc_id =", value, "oDcId");
            return (Criteria) this;
        }

        public Criteria andODcIdNotEqualTo(Integer value) {
            addCriterion("o_dc_id <>", value, "oDcId");
            return (Criteria) this;
        }

        public Criteria andODcIdGreaterThan(Integer value) {
            addCriterion("o_dc_id >", value, "oDcId");
            return (Criteria) this;
        }

        public Criteria andODcIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("o_dc_id >=", value, "oDcId");
            return (Criteria) this;
        }

        public Criteria andODcIdLessThan(Integer value) {
            addCriterion("o_dc_id <", value, "oDcId");
            return (Criteria) this;
        }

        public Criteria andODcIdLessThanOrEqualTo(Integer value) {
            addCriterion("o_dc_id <=", value, "oDcId");
            return (Criteria) this;
        }

        public Criteria andODcIdIn(List<Integer> values) {
            addCriterion("o_dc_id in", values, "oDcId");
            return (Criteria) this;
        }

        public Criteria andODcIdNotIn(List<Integer> values) {
            addCriterion("o_dc_id not in", values, "oDcId");
            return (Criteria) this;
        }

        public Criteria andODcIdBetween(Integer value1, Integer value2) {
            addCriterion("o_dc_id between", value1, value2, "oDcId");
            return (Criteria) this;
        }

        public Criteria andODcIdNotBetween(Integer value1, Integer value2) {
            addCriterion("o_dc_id not between", value1, value2, "oDcId");
            return (Criteria) this;
        }

        public Criteria andOMerchantTimeIsNull() {
            addCriterion("o_merchant_time is null");
            return (Criteria) this;
        }

        public Criteria andOMerchantTimeIsNotNull() {
            addCriterion("o_merchant_time is not null");
            return (Criteria) this;
        }

        public Criteria andOMerchantTimeEqualTo(Date value) {
            addCriterion("o_merchant_time =", value, "oMerchantTime");
            return (Criteria) this;
        }

        public Criteria andOMerchantTimeNotEqualTo(Date value) {
            addCriterion("o_merchant_time <>", value, "oMerchantTime");
            return (Criteria) this;
        }

        public Criteria andOMerchantTimeGreaterThan(Date value) {
            addCriterion("o_merchant_time >", value, "oMerchantTime");
            return (Criteria) this;
        }

        public Criteria andOMerchantTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("o_merchant_time >=", value, "oMerchantTime");
            return (Criteria) this;
        }

        public Criteria andOMerchantTimeLessThan(Date value) {
            addCriterion("o_merchant_time <", value, "oMerchantTime");
            return (Criteria) this;
        }

        public Criteria andOMerchantTimeLessThanOrEqualTo(Date value) {
            addCriterion("o_merchant_time <=", value, "oMerchantTime");
            return (Criteria) this;
        }

        public Criteria andOMerchantTimeIn(List<Date> values) {
            addCriterion("o_merchant_time in", values, "oMerchantTime");
            return (Criteria) this;
        }

        public Criteria andOMerchantTimeNotIn(List<Date> values) {
            addCriterion("o_merchant_time not in", values, "oMerchantTime");
            return (Criteria) this;
        }

        public Criteria andOMerchantTimeBetween(Date value1, Date value2) {
            addCriterion("o_merchant_time between", value1, value2, "oMerchantTime");
            return (Criteria) this;
        }

        public Criteria andOMerchantTimeNotBetween(Date value1, Date value2) {
            addCriterion("o_merchant_time not between", value1, value2, "oMerchantTime");
            return (Criteria) this;
        }

        public Criteria andOPickUpTimeIsNull() {
            addCriterion("o_pick_up_time is null");
            return (Criteria) this;
        }

        public Criteria andOPickUpTimeIsNotNull() {
            addCriterion("o_pick_up_time is not null");
            return (Criteria) this;
        }

        public Criteria andOPickUpTimeEqualTo(Date value) {
            addCriterion("o_pick_up_time =", value, "oPickUpTime");
            return (Criteria) this;
        }

        public Criteria andOPickUpTimeNotEqualTo(Date value) {
            addCriterion("o_pick_up_time <>", value, "oPickUpTime");
            return (Criteria) this;
        }

        public Criteria andOPickUpTimeGreaterThan(Date value) {
            addCriterion("o_pick_up_time >", value, "oPickUpTime");
            return (Criteria) this;
        }

        public Criteria andOPickUpTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("o_pick_up_time >=", value, "oPickUpTime");
            return (Criteria) this;
        }

        public Criteria andOPickUpTimeLessThan(Date value) {
            addCriterion("o_pick_up_time <", value, "oPickUpTime");
            return (Criteria) this;
        }

        public Criteria andOPickUpTimeLessThanOrEqualTo(Date value) {
            addCriterion("o_pick_up_time <=", value, "oPickUpTime");
            return (Criteria) this;
        }

        public Criteria andOPickUpTimeIn(List<Date> values) {
            addCriterion("o_pick_up_time in", values, "oPickUpTime");
            return (Criteria) this;
        }

        public Criteria andOPickUpTimeNotIn(List<Date> values) {
            addCriterion("o_pick_up_time not in", values, "oPickUpTime");
            return (Criteria) this;
        }

        public Criteria andOPickUpTimeBetween(Date value1, Date value2) {
            addCriterion("o_pick_up_time between", value1, value2, "oPickUpTime");
            return (Criteria) this;
        }

        public Criteria andOPickUpTimeNotBetween(Date value1, Date value2) {
            addCriterion("o_pick_up_time not between", value1, value2, "oPickUpTime");
            return (Criteria) this;
        }

        public Criteria andODeliveryTimeIsNull() {
            addCriterion("o_delivery_time is null");
            return (Criteria) this;
        }

        public Criteria andODeliveryTimeIsNotNull() {
            addCriterion("o_delivery_time is not null");
            return (Criteria) this;
        }

        public Criteria andODeliveryTimeEqualTo(Date value) {
            addCriterion("o_delivery_time =", value, "oDeliveryTime");
            return (Criteria) this;
        }

        public Criteria andODeliveryTimeNotEqualTo(Date value) {
            addCriterion("o_delivery_time <>", value, "oDeliveryTime");
            return (Criteria) this;
        }

        public Criteria andODeliveryTimeGreaterThan(Date value) {
            addCriterion("o_delivery_time >", value, "oDeliveryTime");
            return (Criteria) this;
        }

        public Criteria andODeliveryTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("o_delivery_time >=", value, "oDeliveryTime");
            return (Criteria) this;
        }

        public Criteria andODeliveryTimeLessThan(Date value) {
            addCriterion("o_delivery_time <", value, "oDeliveryTime");
            return (Criteria) this;
        }

        public Criteria andODeliveryTimeLessThanOrEqualTo(Date value) {
            addCriterion("o_delivery_time <=", value, "oDeliveryTime");
            return (Criteria) this;
        }

        public Criteria andODeliveryTimeIn(List<Date> values) {
            addCriterion("o_delivery_time in", values, "oDeliveryTime");
            return (Criteria) this;
        }

        public Criteria andODeliveryTimeNotIn(List<Date> values) {
            addCriterion("o_delivery_time not in", values, "oDeliveryTime");
            return (Criteria) this;
        }

        public Criteria andODeliveryTimeBetween(Date value1, Date value2) {
            addCriterion("o_delivery_time between", value1, value2, "oDeliveryTime");
            return (Criteria) this;
        }

        public Criteria andODeliveryTimeNotBetween(Date value1, Date value2) {
            addCriterion("o_delivery_time not between", value1, value2, "oDeliveryTime");
            return (Criteria) this;
        }

        public Criteria andOOrderTimeIsNull() {
            addCriterion("o_order_time is null");
            return (Criteria) this;
        }

        public Criteria andOOrderTimeIsNotNull() {
            addCriterion("o_order_time is not null");
            return (Criteria) this;
        }

        public Criteria andOOrderTimeEqualTo(Date value) {
            addCriterion("o_order_time =", value, "oOrderTime");
            return (Criteria) this;
        }

        public Criteria andOOrderTimeNotEqualTo(Date value) {
            addCriterion("o_order_time <>", value, "oOrderTime");
            return (Criteria) this;
        }

        public Criteria andOOrderTimeGreaterThan(Date value) {
            addCriterion("o_order_time >", value, "oOrderTime");
            return (Criteria) this;
        }

        public Criteria andOOrderTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("o_order_time >=", value, "oOrderTime");
            return (Criteria) this;
        }

        public Criteria andOOrderTimeLessThan(Date value) {
            addCriterion("o_order_time <", value, "oOrderTime");
            return (Criteria) this;
        }

        public Criteria andOOrderTimeLessThanOrEqualTo(Date value) {
            addCriterion("o_order_time <=", value, "oOrderTime");
            return (Criteria) this;
        }

        public Criteria andOOrderTimeIn(List<Date> values) {
            addCriterion("o_order_time in", values, "oOrderTime");
            return (Criteria) this;
        }

        public Criteria andOOrderTimeNotIn(List<Date> values) {
            addCriterion("o_order_time not in", values, "oOrderTime");
            return (Criteria) this;
        }

        public Criteria andOOrderTimeBetween(Date value1, Date value2) {
            addCriterion("o_order_time between", value1, value2, "oOrderTime");
            return (Criteria) this;
        }

        public Criteria andOOrderTimeNotBetween(Date value1, Date value2) {
            addCriterion("o_order_time not between", value1, value2, "oOrderTime");
            return (Criteria) this;
        }

        public Criteria andORaIdIsNull() {
            addCriterion("o_ra_id is null");
            return (Criteria) this;
        }

        public Criteria andORaIdIsNotNull() {
            addCriterion("o_ra_id is not null");
            return (Criteria) this;
        }

        public Criteria andORaIdEqualTo(Integer value) {
            addCriterion("o_ra_id =", value, "oRaId");
            return (Criteria) this;
        }

        public Criteria andORaIdNotEqualTo(Integer value) {
            addCriterion("o_ra_id <>", value, "oRaId");
            return (Criteria) this;
        }

        public Criteria andORaIdGreaterThan(Integer value) {
            addCriterion("o_ra_id >", value, "oRaId");
            return (Criteria) this;
        }

        public Criteria andORaIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("o_ra_id >=", value, "oRaId");
            return (Criteria) this;
        }

        public Criteria andORaIdLessThan(Integer value) {
            addCriterion("o_ra_id <", value, "oRaId");
            return (Criteria) this;
        }

        public Criteria andORaIdLessThanOrEqualTo(Integer value) {
            addCriterion("o_ra_id <=", value, "oRaId");
            return (Criteria) this;
        }

        public Criteria andORaIdIn(List<Integer> values) {
            addCriterion("o_ra_id in", values, "oRaId");
            return (Criteria) this;
        }

        public Criteria andORaIdNotIn(List<Integer> values) {
            addCriterion("o_ra_id not in", values, "oRaId");
            return (Criteria) this;
        }

        public Criteria andORaIdBetween(Integer value1, Integer value2) {
            addCriterion("o_ra_id between", value1, value2, "oRaId");
            return (Criteria) this;
        }

        public Criteria andORaIdNotBetween(Integer value1, Integer value2) {
            addCriterion("o_ra_id not between", value1, value2, "oRaId");
            return (Criteria) this;
        }

        public Criteria andORemarksIsNull() {
            addCriterion("o_remarks is null");
            return (Criteria) this;
        }

        public Criteria andORemarksIsNotNull() {
            addCriterion("o_remarks is not null");
            return (Criteria) this;
        }

        public Criteria andORemarksEqualTo(String value) {
            addCriterion("o_remarks =", value, "oRemarks");
            return (Criteria) this;
        }

        public Criteria andORemarksNotEqualTo(String value) {
            addCriterion("o_remarks <>", value, "oRemarks");
            return (Criteria) this;
        }

        public Criteria andORemarksGreaterThan(String value) {
            addCriterion("o_remarks >", value, "oRemarks");
            return (Criteria) this;
        }

        public Criteria andORemarksGreaterThanOrEqualTo(String value) {
            addCriterion("o_remarks >=", value, "oRemarks");
            return (Criteria) this;
        }

        public Criteria andORemarksLessThan(String value) {
            addCriterion("o_remarks <", value, "oRemarks");
            return (Criteria) this;
        }

        public Criteria andORemarksLessThanOrEqualTo(String value) {
            addCriterion("o_remarks <=", value, "oRemarks");
            return (Criteria) this;
        }

        public Criteria andORemarksLike(String value) {
            addCriterion("o_remarks like", value, "oRemarks");
            return (Criteria) this;
        }

        public Criteria andORemarksNotLike(String value) {
            addCriterion("o_remarks not like", value, "oRemarks");
            return (Criteria) this;
        }

        public Criteria andORemarksIn(List<String> values) {
            addCriterion("o_remarks in", values, "oRemarks");
            return (Criteria) this;
        }

        public Criteria andORemarksNotIn(List<String> values) {
            addCriterion("o_remarks not in", values, "oRemarks");
            return (Criteria) this;
        }

        public Criteria andORemarksBetween(String value1, String value2) {
            addCriterion("o_remarks between", value1, value2, "oRemarks");
            return (Criteria) this;
        }

        public Criteria andORemarksNotBetween(String value1, String value2) {
            addCriterion("o_remarks not between", value1, value2, "oRemarks");
            return (Criteria) this;
        }

        public Criteria andOValidIsNull() {
            addCriterion("o_valid is null");
            return (Criteria) this;
        }

        public Criteria andOValidIsNotNull() {
            addCriterion("o_valid is not null");
            return (Criteria) this;
        }

        public Criteria andOValidEqualTo(String value) {
            addCriterion("o_valid =", value, "oValid");
            return (Criteria) this;
        }

        public Criteria andOValidNotEqualTo(String value) {
            addCriterion("o_valid <>", value, "oValid");
            return (Criteria) this;
        }

        public Criteria andOValidGreaterThan(String value) {
            addCriterion("o_valid >", value, "oValid");
            return (Criteria) this;
        }

        public Criteria andOValidGreaterThanOrEqualTo(String value) {
            addCriterion("o_valid >=", value, "oValid");
            return (Criteria) this;
        }

        public Criteria andOValidLessThan(String value) {
            addCriterion("o_valid <", value, "oValid");
            return (Criteria) this;
        }

        public Criteria andOValidLessThanOrEqualTo(String value) {
            addCriterion("o_valid <=", value, "oValid");
            return (Criteria) this;
        }

        public Criteria andOValidLike(String value) {
            addCriterion("o_valid like", value, "oValid");
            return (Criteria) this;
        }

        public Criteria andOValidNotLike(String value) {
            addCriterion("o_valid not like", value, "oValid");
            return (Criteria) this;
        }

        public Criteria andOValidIn(List<String> values) {
            addCriterion("o_valid in", values, "oValid");
            return (Criteria) this;
        }

        public Criteria andOValidNotIn(List<String> values) {
            addCriterion("o_valid not in", values, "oValid");
            return (Criteria) this;
        }

        public Criteria andOValidBetween(String value1, String value2) {
            addCriterion("o_valid between", value1, value2, "oValid");
            return (Criteria) this;
        }

        public Criteria andOValidNotBetween(String value1, String value2) {
            addCriterion("o_valid not between", value1, value2, "oValid");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}